Skip to content

Conversation

@winder
Copy link
Collaborator

@winder winder commented Nov 13, 2025

Placeholder for CCVProvider interface. Introduced now to clarify where chain agnostic abstractions will be implemented.

@github-actions
Copy link

Code coverage report:

Package main will/ccv-provider
aggregator 39.67% 48.66%
cmd 0.00% 0.00%
committee 100.00% 100.00%
common 53.95% 89.86%
executor 33.96% 56.90%
indexer 32.62% 35.83%
integration 6.26% 6.53%
protocol 41.06% 46.81%
verifier 57.20% 58.66%

@github-actions
Copy link

E2E Smoke Test Results

Test Case Status Duration
TestE2ESmoke/extra_args_v2/src->dst_msg_execution_eoa_receiver pass 7.02s
TestE2ESmoke/extra_args_v2/dst->src_msg_execution_eoa_receiver pass 7.02s
TestE2ESmoke/extra_args_v2/1337->3337_msg_execution_mock_receiver pass 7.02s
TestE2ESmoke/extra_args_v2 pass 21.07s
TestE2ESmoke/extra_args_v3_messaging/EOA_receiver_and_default_committee_verifier pass 6.02s
TestE2ESmoke/extra_args_v3_messaging/EOA_receiver_and_secondary_committee_verifier pass 6.03s
TestE2ESmoke/extra_args_v3_messaging/receiver_w/_secondary_verifier_required pass 6.02s
TestE2ESmoke/extra_args_v3_messaging/receiver_w/_secondary_required_and_tertiary_optional_threshold=1 pass 6.03s
TestE2ESmoke/extra_args_v3_messaging/receiver_w/_default_required,_secondary_and_tertiary_optional,_threshold=1,_message_specifies_all_three pass 6.03s
TestE2ESmoke/extra_args_v3_messaging/receiver_w/_default_required,_secondary_and_tertiary_optional,_threshold=1,_message_specifies_default_and_secondary pass 6.02s
TestE2ESmoke/extra_args_v3_messaging/receiver_w/_default_required,_secondary_and_tertiary_optional,_threshold=1,_message_specifies_default_and_tertiary pass 6.03s
TestE2ESmoke/extra_args_v3_messaging/EOA_receiver_and_default_committee_verifier#01 pass 6.02s
TestE2ESmoke/extra_args_v3_messaging/max_data_size pass 6.02s
TestE2ESmoke/extra_args_v3_messaging pass 54.22s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_(TEST_(BurnMintTokenPool_1.6.1_[]_to_BurnMintTokenPool_1.6.1_[])) pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_(TEST_(LockReleaseTokenPool_1.7.0_[default]_to_LockReleaseTokenPool_1.7.0_[default])) pass 7.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_(TEST_(BurnMintTokenPool_1.7.0_[default]_to_BurnMintTokenPool_1.7.0_[default])) pass 7.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_(TEST_(BurnMintTokenPool_1.6.1_[]_to_BurnMintTokenPool_1.7.0_[default])) pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_(TEST_(BurnMintTokenPool_1.7.0_[default]_to_BurnMintTokenPool_1.6.1_[])) pass 7.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_(TEST_(BurnMintTokenPool_1.7.0_[default_secondary]_to_BurnMintTokenPool_1.7.0_[default_secondary])) pass 7.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_(TEST_(BurnMintTokenPool_1.7.0_[]_to_BurnMintTokenPool_1.7.0_[])) pass 7.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_(TEST_(BurnMintTokenPool_1.7.0_[secondary]_to_BurnMintTokenPool_1.7.0_[secondary])) pass 7.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_1.7.0_(TEST_(LockReleaseTokenPool_1.7.0_[default]_to_LockReleaseTokenPool_1.7.0_[default]))_default_finality pass 9.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_mock_receiver_and_token_transfer_1.7.0_(TEST_(LockReleaseTokenPool_1.7.0_[default]_to_LockReleaseTokenPool_1.7.0_[default]))_default_finality pass 9.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_1.7.0_(TEST_(BurnMintTokenPool_1.7.0_[default]_to_BurnMintTokenPool_1.7.0_[default]))_default_finality pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_mock_receiver_and_token_transfer_1.7.0_(TEST_(BurnMintTokenPool_1.7.0_[default]_to_BurnMintTokenPool_1.7.0_[default]))_default_finality pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_1.7.0_(TEST_(BurnMintTokenPool_1.7.0_[default_secondary]_to_BurnMintTokenPool_1.7.0_[default_secondary]))_default_finality pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_mock_receiver_and_token_transfer_1.7.0_(TEST_(BurnMintTokenPool_1.7.0_[default_secondary]_to_BurnMintTokenPool_1.7.0_[default_secondary]))_default_finality pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_1.7.0_(TEST_(BurnMintTokenPool_1.7.0_[]_to_BurnMintTokenPool_1.7.0_[]))_default_finality pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_mock_receiver_and_token_transfer_1.7.0_(TEST_(BurnMintTokenPool_1.7.0_[]_to_BurnMintTokenPool_1.7.0_[]))_default_finality pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_EOA_receiver_and_token_transfer_1.7.0_(TEST_(BurnMintTokenPool_1.7.0_[secondary]_to_BurnMintTokenPool_1.7.0_[secondary]))_default_finality pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer/src_dst_msg_execution_with_mock_receiver_and_token_transfer_1.7.0_(TEST_(BurnMintTokenPool_1.7.0_[secondary]_to_BurnMintTokenPool_1.7.0_[secondary]))_default_finality pass 8.03s
TestE2ESmoke/extra_args_v3_token_transfer pass 140.58s
TestE2ESmoke pass 215.95s

Full logs are available in the workflow artifacts.

// - Define a LOOPP client for this interface.
type CCVProvider interface {
Client() client.Client // verifier, executor
HeadTracker() heads.Tracker // verifier
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we replace this with the HeadTracker interface we use in the verifier?

// - Create an adapter layer for legacyevm.Chain that implements this interface.
// - Define a LOOPP client for this interface.
type CCVProvider interface {
Client() client.Client // verifier, executor
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know how this is gonna work for non-EVMs, the clients may have literally nothing in common.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the SourceReader interface should serve all of our chain reading purposes, if it doesn't then its not complete IMO

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Analogous to ChainAccessLayer in 1.6)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants